home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS078A.dsk / UFO.bas < prev    next >
BASIC Source File  |  2012-02-16  |  9KB  |  215 lines

  1. 1  REM ***********************
  2. 2  REM         UFO
  3. 3  REM      M.WIDMANN
  4. 4  REM ***********************
  5. 5  REM 
  6. 90  GOSUB 26000
  7. 92  LOMEM: 16400
  8. 100 SC = 0:SH = 11: HGR 
  9. 102  GOSUB 3000: GOSUB 3040
  10. 104 XM = 12:YM = 5:XO = 15:YO = 72:SA = 5:FLAG = 0: HOME 
  11. 120 X = XO +XM
  12. 130  IF (X >1)  AND (X <235)  THEN  GOTO 160
  13. 140 XM =  -1 *XM
  14. 150  GOTO 120
  15. 160 Y = YO +YM
  16. 170  IF (Y >16)  AND (Y <110)  THEN  GOTO 200
  17. 180 YM =  -1 *YM
  18. 190  GOTO 160
  19. 200  HCOLOR= 5: GOSUB 1000
  20. 211  IF FLAG = 1  THEN  GOTO 25000
  21. 212 F =  PEEK( -16384): POKE  -16368,0
  22. 213  IF F >127  THEN  GOSUB 4500
  23. 215 XO = X:YO = Y
  24. 216 R = 190 +88 * RND(1)
  25. 217  IF  INT(R)/3 =  INT( INT(R)/3)  THEN  GOSUB 2000
  26. 218  LET A = A +1
  27. 219  IF A = 30  THEN  GOSUB 3000:A = 0
  28. 220  GOTO 120
  29. 230  HPLOT X +20,Y +6 TO X,Y -16 TO X +16,Y +4 TO X,Y +26 TO X +20,Y +8 TO X +40,Y +26 TO X +24,Y +4 TO X +40,Y -16 TO X +20,Y +2
  30. 1000  HPLOT X,Y TO X +20,Y -10 TO X +40,Y TO X +27,Y -4 TO X +20,Y -2 TO X +13,Y -4 TO X,Y
  31. 1010 X = XO:Y = YO: HCOLOR= 4
  32. 1020  HPLOT X,Y TO X +20,Y -10 TO X +40,Y TO X +27,Y -4 TO X +20,Y -2 TO X +13,Y -4 TO X,Y
  33. 1030 X = X +XM:Y = Y +YM: RETURN 
  34. 2000  HCOLOR= 1: HPLOT X +20,Y -5 TO R,135
  35. 2010  HCOLOR= 4: HPLOT X +20,Y -5 TO R,135
  36. 2015  IF R >270  AND R <279  THEN  GOTO 24000
  37. 2020  IF SA < = 0  THEN  GOTO 25100
  38. 2021  GOSUB 24500
  39. 2022  RETURN 
  40. 3000  HCOLOR= 6: HPLOT 32,34: HPLOT 268,150: HPLOT 76,83: HPLOT 208,104: HPLOT 260,8: HCOLOR= 3: HPLOT 25,79: HPLOT 111,141: HPLOT 213,27
  41. 3010  HCOLOR= 2: HPLOT 1,145 TO 20,135 TO 40,145 TO 70,140 TO 100,155 TO 180,155 TO 200,145 TO 220,145 TO 240,135 TO 260,125 TO 278,132
  42. 3020  HCOLOR= 5: HPLOT 260,124 TO 277,130 TO 278,128 TO 261,122
  43. 3030 Z =  FRE(1): RETURN 
  44. 3040  HCOLOR= 7: HPLOT 100,155 TO 100,150 TO 115,145 TO 125,145 TO 125,156
  45. 3041  HPLOT 125,153 TO 140,153
  46. 3042  HPLOT 140,156 TO 140,145 TO 155,145 TO 155,155
  47. 3043  HPLOT 155,150 TO 170,150 TO 170,153 TO 180,153 TO 180,156
  48. 3044  HPLOT 120,145 TO 120,140 TO 130,140 TO 130,153
  49. 3045  HPLOT 135,153 TO 135,138 TO 147,138 TO 147,145
  50. 3046  HPLOT 126,140 TO 126,130 TO 140,130 TO 140,138
  51. 4000  HCOLOR= 7
  52. 4020  RETURN 
  53. 4500 SH = SH -1: GOSUB 24500
  54. 4510  IF SH < = 0  THEN FLAG = 1
  55. 5000  HCOLOR= 6: HPLOT 260,123 TO 1,20
  56. 5001  HCOLOR= 0: HPLOT 260,123 TO 1,20
  57. 5002 VA = (Y -20)/.375
  58. 5003  IF X <VA -10  AND X >(VA -60)  THEN  GOTO 10000
  59. 5004  RETURN 
  60. 6011 XO = 20 +200 * RND(1):YO = 20 +80 * RND(1): GOTO 120
  61. 10000  HCOLOR= 0
  62. 10110  HPLOT X,Y TO X +20,Y -10 TO X +40,Y TO X +27,Y -4 TO X +20,Y -2 TO X +13,Y -4 TO X,Y
  63. 10200  HCOLOR= 3
  64. 10210  HPLOT X +20,Y +6 TO X,Y -16 TO X +16,Y +4 TO X,Y +26 TO X +20,Y +8 TO X +40,Y +26 TO X +24,Y +4 TO X +40,Y -16 TO X +20,Y +2
  65. 10220  HCOLOR= 0
  66. 10230  HPLOT X +20,Y +6 TO X,Y -16 TO X +16,Y +4 TO X,Y +26 TO X +20,Y +8 TO X +40,Y +26 TO X +24,Y +4 TO X +40,Y -16 TO X +20,Y +2
  67. 20110  FOR DZ = 1 TO 50  STEP 2
  68. 20120  HCOLOR= 5
  69. 20130  HPLOT X,Y +DZ: HPLOT X +10,Y +3 +DZ: HPLOT X +20,Y +DZ: HPLOT X,Y +10 +DZ: HPLOT X +18,Y +20 +DZ
  70. 20131  HPLOT X +1,Y +DZ: HPLOT X +7,Y +7 +DZ: HPLOT X +13,Y +15 +DZ
  71. 20140  HCOLOR= 0
  72. 20160  HPLOT X,Y +DZ: HPLOT X +10,Y +3 +DZ: HPLOT X +20,Y +DZ: HPLOT X,Y +10 +DZ: HPLOT X +18,Y +20 +DZ
  73. 20161  HPLOT X +1,Y +DZ: HPLOT X +7,Y +7 +DZ: HPLOT X +13,Y +15 +DZ
  74. 20170  NEXT DZ
  75. 20175 SA = SA -1:SC = SC +1000
  76. 20180  IF (X >120)  AND (X <140)  THEN  GOTO 21000
  77. 20190  IF (X >110)  AND (X <150)  THEN  GOTO 22000
  78. 20200  IF (X >90)  AND (X <170)  THEN  GOTO 23000
  79. 20205  IF SA < = 0  THEN  GOTO 25100
  80. 20210  GOTO 6011
  81. 21000  HOME : VTAB 22: INVERSE 
  82. 21003  PRINT "GOOD SHOT. SAUCER CRASHED INTO CITY HALL. DOWNTOWN IS ON FIRE!!"
  83. 21004  NORMAL : FOR DE = 1 TO 3
  84. 21020  HCOLOR= 7: HPLOT 120,145 TO 80,110 TO 130,150 TO 120,80 TO 140,145 TO 160,100 TO 145,145 TO 180,130 TO 145,150
  85. 21030  HCOLOR= 0: HPLOT 120,145 TO 80,110 TO 130,150 TO 120,80 TO 140,145 TO 160,100 TO 145,145 TO 180,130 TO 145,150
  86. 21040  NEXT DE
  87. 21050  FOR AA = 1 TO 50
  88. 21060 BB = 30 * RND(1)
  89. 21070  HCOLOR= 5: HPLOT 135,155 TO 120 +BB,125 +BB
  90. 21080  HCOLOR= 0: HPLOT 135,155 TO 120 +BB,125 +BB
  91. 21090  NEXT AA
  92. 21100 SC = SC +1000
  93. 21200  GOSUB 26600: HOME 
  94. 21999  GOTO 2020
  95. 22000 SC = SC +100
  96. 22200  HOME : INVERSE : VTAB 22
  97. 22210  PRINT "NOT BAD, SAUCER CRASHED INTO CITY. LOTS OF CASUALTIES.....!!                  "
  98. 22220  NORMAL 
  99. 22240  GOSUB 26600: HOME : GOTO 2020
  100. 23000 SC = SC +10
  101. 23200  HOME : INVERSE : VTAB 22
  102. 23210  PRINT "SUBURBS HEAVILY DAMAGED. LOTS OF CETONIANS WIPED OUT...!                      "
  103. 23220  GOSUB 26600: HOME : NORMAL : GOTO 2020
  104. 24000 SH = SH -1: IF SH < = 0  THEN  GOTO 25000
  105. 24001  PRINT "<CTRL-G>": HOME : VTAB 22
  106. 24002  PRINT "YOUR GUN HAS BEEN HIT! YOU NOW HAVE ONLY"
  107. 24003  FLASH : PRINT SH" ";
  108. 24004  NORMAL : PRINT " SHOTS LEFT."
  109. 24008  FOR TI = 1 TO 4000: NEXT : HOME : GOTO 2020
  110. 24500  HOME : VTAB 21: PRINT "SAUCERS LEFT: ";
  111. 24512  PRINT SA"            ";
  112. 24514  PRINT "SHOTS LEFT:"SH
  113. 24516  RETURN 
  114. 25000  TEXT : HOME : FLASH 
  115. 25012  PRINT "                                                                               "
  116. 25014  NORMAL : VTAB 11
  117. 25016  PRINT "YOUR GUN HAS RUN OUT OF JUICE !"
  118. 25018  FLASH : VTAB 20
  119. 25020  PRINT "                                                                               "
  120. 25022  NORMAL 
  121. 25024  FOR TI = 1 TO 18: POKE 768,35: POKE 769,30: CALL 770: POKE 768,180: POKE 769,60: CALL 770: NEXT : HOME 
  122. 25100 SC = SC +SH
  123. 25102  IF SC >4001  AND SA < = 0  THEN  GOTO 25120
  124. 25103  GR : COLOR= 15
  125. 25104  VLIN 10,30 AT 20: HLIN 15,25 AT 15
  126. 25105  COLOR= 12
  127. 25106  HLIN 5,17 AT 32: HLIN 14,27 AT 31: HLIN 25,35 AT 32
  128. 25107  HOME : VTAB 22
  129. 25108  PRINT "YOU HAVE FAILED IN YOUR MISSION. MANKIND IS DOOMED!!--SHAME ON YOU--"
  130. 25109  GOTO 27000
  131. 25120 SC = SC -5000: IF SC >500  THEN  GOTO 25200
  132. 25132  TEXT : HOME : VTAB 10
  133. 25134  PRINT "YOUR PERFORMANCE WAS POOR. THE CITY IS  STILL THRIVING."
  134. 25136  GOTO 27000
  135. 25200  IF SC >1900  THEN  GOTO 25300
  136. 25210  TEXT : HOME : VTAB 10
  137. 25212  PRINT "YOUR PERFORMANCE WAS GOOD. IT WILL TAKE YEARS TO REBUILD CETA TOWN."
  138. 25214  GOTO 27000
  139. 25300  IF SC >4000  THEN  GOTO 25400
  140. 25320  TEXT : HOME : VTAB 10
  141. 25322  PRINT "YOUR PERFORMANCE WAS VERY GOOD. IT WILL TAKE CENTURIES TO REBUILD CETA TOWN"
  142. 25324  GOTO 27000
  143. 25400  HGR 
  144. 25402  FOR X = 1 TO 4
  145. 25404  HCOLOR= 1: HPLOT 1,1
  146. 25406  CALL 62454: HCOLOR= 3: HPLOT 1,1: CALL 62454
  147. 25407  NEXT 
  148. 25408  HCOLOR= 5
  149. 25410  HPLOT 60,80 TO 140,40 TO 220,80 TO 160,70 TO 140,80 TO 120,70 TO 60,80
  150. 25412  HCOLOR= 1
  151. 25414  HPLOT 95,65 TO 140,50 TO 185,65
  152. 25416  HOME : VTAB 22
  153. 25418  PRINT "CONGRATULATIONS, YOU WIN THE GOLDEN SAUCER. --PERFECT SCORE--"
  154. 25420  GOTO 27000
  155. 26000  REM  DISPLAY,TEXT,SOUNDPOKE
  156. 26001  DATA  173,48,192,136,208,5,206,1,3,240,9,202,208,245,174,0,3,76,2,3,96,0,0
  157. 26002  FOR DA = 1 TO 23
  158. 26004 DS = 769 +DA
  159. 26006  READ DD: POKE DS,DD: NEXT 
  160. 26020  GR 
  161. 26030  COLOR= 8
  162. 26040  HLIN 8,12 AT 14: HLIN 10,14 AT 13: HLIN 12,26 AT 12
  163. 26050  COLOR= 9
  164. 26060  HLIN 14,24 AT 11: HLIN 28,32 AT 15: HLIN 6,10 AT 15
  165. 26062  COLOR= 8
  166. 26064  HLIN 16,22 AT 10: HLIN 24,28 AT 13: HLIN 26,30 AT 14
  167. 26066  COLOR= 0
  168. 26068  PLOT 17,11: PLOT 19,11: PLOT 21,11: PLOT 15,11: PLOT 23,11
  169. 26070  COLOR= 13
  170. 26072  PLOT 19,13: PLOT 17,9: PLOT 21,9
  171. 26074  COLOR= 1
  172. 26076  HLIN 7,9 AT 22: HLIN 11,13 AT 22: HLIN 15,17 AT 22: HLIN 19,21 AT 22: HLIN 28,30 AT 22: HLIN 7,9 AT 28: HLIN 11,13 AT 28: HLIN 28,30 AT 28
  173. 26078  VLIN 23,27 AT 7: VLIN 23,27 AT 11: VLIN 23,28 AT 16: VLIN 23,28 AT 19: VLIN 23,28 AT 21: VLIN 24,27 AT 30
  174. 26080  PLOT 12,25: PLOT 20,25: PLOT 24,25: PLOT 25,25: PLOT 28,23: PLOT 28,24: PLOT 28,27: PLOT 29,24
  175. 26082  GOSUB 26500
  176. 26084  TEXT : HOME 
  177. 26086  PRINT "****************************************"
  178. 26088  PRINT : PRINT 
  179. 26090  PRINT "YOU HAVE CRASH-LANDED ON CETA-5"
  180. 26091  PRINT "THE YEAR IS 2280."
  181. 26092  PRINT "TWO YEARS AGO THE COUNCIL OF TERRA,THE"
  182. 26093  PRINT "GOUVERNING BODY OF THE STELLAR UNION"
  183. 26094  PRINT "HAS DECIDED TO LAUNCH AN INVASION OF"
  184. 26095  PRINT "CETA-5.THE WAR IS NOW REACHING A"
  185. 26096  PRINT "CRITICAL STAGE.CETATOWN IS THE ONLY"
  186. 26097  PRINT "CITY LEFT ON THIS PLANET,BUT THE ENTIRE"
  187. 26098  PRINT "INVASION-FORCE HAS BEEN WIPED OUT...!"
  188. 26099  PRINT "YOU ARE NOW THE ONLY INVADER LEFT."
  189. 26100  GOTO 26200
  190. 26101  PRINT "YOU MANAGED TO POSITION YOUR PHOTON-"
  191. 26102  PRINT "GUN JUST OUTSIDE THE CITY."
  192. 26103  PRINT "THE ENEMY HAS ONLY FIVE SAUCERS LEFT"
  193. 26104  PRINT "TO DEFEND THE CITY. IT IS YOUR TASK TO"
  194. 26105  PRINT "DESTROY THE SAUCERS AS WELL AS THE CITY."
  195. 26106  PRINT "SINCE YOU HAVE ONLY             11 SHOTS LEFT IN"
  196. 26107  PRINT " YOUR GUN, YOU MUST ATTEMPT TO HIT THE"
  197. 26108  PRINT "SAUCERS JUST ABOVE THE CITY IN ORDER TO"
  198. 26109  PRINT " CAUSE MAXIMUM DAMAGE."
  199. 26110  PRINT "(TO FIRE GUN HIT ANY KEY)"
  200. 26111  PRINT : PRINT : PRINT "****************************************"
  201. 26112  PRINT : PRINT "HIT SPACE BAR TO START THE GAME."
  202. 26113 F =  PEEK( -16384): POKE  -16368,0
  203. 26114  IF F >127  THEN  GOTO 26116
  204. 26115  GOTO 26113
  205. 26116  HOME : GOSUB 26600: RETURN 
  206. 26200  PRINT : PRINT : PRINT "***************************************"
  207. 26202  PRINT : PRINT "HIT ANY KEY TO CONTINUE.
  208. 26204 F =  PEEK( -16384): POKE  -16368,0
  209. 26206  IF F >127  THEN  GOTO 26208
  210. 26207  GOTO 26204
  211. 26208  HOME : GOTO 26101
  212. 26500  DATA  52,250,63,250,69,50,76,50,84,50,52,250,63,150
  213. 26502  FOR A = 1 TO 7: POKE 768,104: POKE 769,25: CALL 770: READ F: READ D: POKE 768,F: POKE 769,D: CALL 770: NEXT : RESTORE : RETURN 
  214. 26600  FOR T = 1 TO 30: POKE 768,30 +200 * RND(1): POKE 769,30: CALL 770: NEXT : RETURN 
  215. 27000 Z =  FRE(1): VTAB 24: FOR TI = 1 TO 50  STEP 2: POKE 768,50 +TI: POKE 769,22: CALL 7